package com.yixun.qfbao.response.premises.detail;

import java.net.URLDecoder;

import org.apache.commons.lang.StringUtils;

import com.yixun.qfbao.apidto.PreDynamic;
import com.yixun.qfbao.response.premises.detail.util.SplitHtmlUtil;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * @author zilong.liu
 * @date 2020-9-7
 */
@Data
public class PremisesDynamicInfo {
	
	/**
	 * 楼盘动态内容
	 * 	取值优先级说明。简介-》楼盘动态，需要排除其内可能存在的img图片。
	 */
	@ApiModelProperty(value = "楼盘动态内容")
	private String	content;
	
	/**
	 * 创建时间
	 */
	@ApiModelProperty(value = "楼盘动态更新时间")
	private String updateTime;
	
	public PremisesDynamicInfo() {
	}
	
	public PremisesDynamicInfo(PreDynamic preDynamic) {
		this.updateTime = preDynamic.getUpdateTime();
//		String remark = preDynamic.getRemark();
		String html = preDynamic.getContent();
		try {
			// 转码，如果可以转码则使用转码后的字符，如果异常，则说明为正常的汉字，不需要转码，则直接使用
			html = URLDecoder.decode(preDynamic.getContent(), "utf-8");
		} catch (Exception e) {
//			html = remark
		}
		//如果有楼盘简介，则使用楼盘简介。筛选出图片，如果没有则使用楼盘动态内容
		this.content = this.splitHtml(html);
	}
	
	private static final String[] EXCLUSION_LABELS = new String[] {"<img", ">", "<iframe class=\"ql-video\"", "</iframe>"};
	
	/**
	 * 按照截取规则截取对应的内容
	 * @param html
	 * @return
	 */
	private String splitHtml(String html) {
		for(int i = 0; i < EXCLUSION_LABELS.length; i +=2) {
			html = new SplitHtmlUtil().removeStringFromInput(html, EXCLUSION_LABELS[i], EXCLUSION_LABELS[i+1]);
		}
		return html;
	}
	
}
